1
Dominando o Fluxo de Controle Avançado
AI019Lesson 6
00:00

O case expressão é a pedra angular do fluxo de controle do Elixir. Diferentemente das instruções switch imperativas, case é uma expressão funcional que retorna o resultado da ramificação correspondente, permitindo que desenvolvedores desconstruam tipos de dados complexos como mapas e tuplas instantaneamente, ao mesmo tempo que impõem lógica exaustiva.

1. Correspondência de Padrões e Ligação

O case expressão permite testar um valor contra um conjunto de padrões. Ela executa o código associado ao primeiro padrão que corresponder e retorna o valor desse código. Você pode ligar variáveis dentro da correspondência para uso imediato na lógica da ramificação.

case dave fazer
%{estado: algum_estado} = pessoa ->
IO.puts "#{pessoa.nome} mora em #{algum_estado}"
fim

2. Fluxo Lógico Visual

ValorPadrão {:ok, valor}Padrão {:erro, _}Padrão Padrão _

3. Cláusulas de Guarda e Exaustividade

Usando o when palavra-chave, você pode aprimorar correspondências estruturais com lógica de predicado (por exemplo, is_number(idade) e idade >= 21). O Elixir exige uma correspondência para cada entrada potencial; se nenhum padrão corresponder, um CaseClauseError é levantado.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>